using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("SpellAreaEffect")]
	public class SpellAreaEffect : Spell
	{
		public Spell m_ImpactSpellPrefab => method_3<Spell>("m_ImpactSpellPrefab");

		public SpellAreaEffect(IntPtr address, string className)
			: base(address, className)
		{
		}

		public SpellAreaEffect(IntPtr address)
			: this(address, "SpellAreaEffect")
		{
		}

		public new bool AddPowerTargets()
		{
			return method_11<bool>("AddPowerTargets", Array.Empty<object>());
		}

		public new void OnDeath(SpellStateType prevStateType)
		{
			method_8("OnDeath", prevStateType);
		}

		public void SpawnImpactSpell(GameObject targetObject)
		{
			method_8("SpawnImpactSpell", targetObject);
		}

		public void OnImpactSpellStateFinished(Spell spell, SpellStateType prevStateType, object userData)
		{
			method_8("OnImpactSpellStateFinished", spell, prevStateType, userData);
		}
	}
}
